# encoding: utf-8
"""
@author: 夏洛
@QQ: 1972386194
@file: 01-xpath.py
"""

text = '''
<div>
    <ul>
         <li class="item-0">
         <a href="link1.html">first item</a>
         </li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-inactive"><a href="link3.html">third item</a></li>
         <li class="item-1"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a>
     </ul>
 </div>
'''

from lxml import etree

html = etree.HTML(text)
# result = etree.tostring(html)

# result = html.xpath('//*')
# // 任意的节点
# result = html.xpath('//li/a')
# print(result)

# text()  提取文本
result1 = html.xpath('//li/a/text()')
print(result1)

# 属性值  @  a标签里面的href 是做跳转连接
result2 = html.xpath('//li/a/@href')
print(result2)


# 指定节点提取  推荐通过属性定位 参照物
res3 = html.xpath('//li[@class="item-inactive"]/a/@href')
print(res3)

# 不推荐   可能会存在索引不到  网页会变化
res4 = html.xpath('//li[3]/a/@href')
print(res4)


result5 = html.xpath('//li[1]/ancestor::*')  # 选取当前节点的所有先辈
print(result5)

# 提取属性
result6 = html.xpath('//li[1]/attribute::*')   # 选取当前节点的所有属性
print(result6)


result7 = html.xpath('//li[1]/child::a[@href="link1.html"]')
print(result7)


html1 = """
<div class="slist">
    	<ul class="clearfix">
        <li><a href="/tupian/29389.html" target="_blank"><img src="/uploads/allimg/220523/010649-16532392094977.jpg" alt="小清新气质养眼美女 杨茗茗4k壁纸"><b>小清新气质养眼美女 杨茗</b></a></li><li><a href="/tupian/29327.html" target="_blank"><img src="/uploads/allimg/220512/010316-1652288596e0b4.jpg" alt="好看居家美女 好看身材 养眼美腿 白色小睡衣 白袜子 公主床4k美女壁纸"><b>好看居家美女 好看身材 </b></a></li><li><a href="/tupian/29340.html" target="_blank"><img src="/uploads/allimg/220515/232503-16526283037507.jpg" alt="可爱居家美女 好看身材清纯美女 白色睡衣 白色长袜子 4k美女壁纸"><b>可爱居家美女 好看身材清</b></a></li><li><a href="/tupian/27978.html" target="_blank"><img src="/uploads/allimg/210831/102129-16303764895142.jpg" alt="cosplay美女 电脑桌 键盘 机房 可爱 小姐姐4k壁纸3840x2160"><b>cosplay美女 电脑桌 键盘</b></a></li><li><a href="/tupian/29170.html" target="_blank"><img src="/uploads/allimg/220327/000925-16483109659bb3.jpg" alt="居家小清新美女 美腿 蓝色裙子 草席4k美女壁纸"><b>居家小清新美女 美腿 蓝</b></a></li><li><a href="/tupian/27972.html" target="_blank"><img src="/uploads/allimg/210827/235918-1630079958392e.jpg" alt="家居 可爱小姐姐 侧躺 好看身材4k美女壁纸"><b>家居 可爱小姐姐 侧躺 好</b></a></li><li><a href="/tupian/29374.html" target="_blank"><img src="/uploads/allimg/220520/004034-1652978434e703.jpg" alt="文静清纯美女曹婉瑾4k壁纸"><b>文静清纯美女曹婉瑾4k壁</b></a></li><li><a href="/tupian/28468.html" target="_blank"><img src="/uploads/allimg/211219/114328-1639885408db64.jpg" alt="海琴烟 同人 cosplay美女4K高清壁纸"><b>海琴烟 同人 cosplay美女</b></a></li><li><a href="/tupian/29277.html" target="_blank"><img src="/uploads/allimg/220430/002435-1651249475ef66.jpg" alt="女神 小仙女 长发 黑色裙子 养眼美腿 好看高清美女4k壁纸"><b>女神 小仙女 长发 黑色裙</b></a></li><li><a href="/tupian/28327.html" target="_blank"><img src="/uploads/allimg/211122/000739-16375108599425.jpg" alt="居家 长发 夏天 美女 牛仔短裙 好看身材4k美女壁纸"><b>居家 长发 夏天 美女 牛</b></a></li><li><a href="/tupian/29375.html" target="_blank"><img src="/uploads/allimg/220520/004532-16529787325235.jpg" alt="长卷发 美女 厨房 清纯好看美女曹婉瑾4k壁纸"><b>长卷发 美女 厨房 清纯好</b></a></li><li><a href="/tupian/29314.html" target="_blank"><img src="/uploads/allimg/220511/003034-16522002340d03.jpg" alt="漂亮美女曹婉瑾 休闲装 4k美女壁纸"><b>漂亮美女曹婉瑾 休闲装 </b></a></li><li><a href="/tupian/24232.html" target="_blank"><img src="/uploads/allimg/190518/174718-15581728388724.jpg" alt="白色婚纱裙子 白色丝袜美腿美女4k壁纸"><b>白色婚纱裙子 白色丝袜美</b></a></li><li><a href="/tupian/29308.html" target="_blank"><img src="/uploads/allimg/220509/003638-16520277985c73.jpg" alt="小清新美女 手指头 嘴唇4k美女壁纸3840x2160"><b>小清新美女 手指头 嘴唇</b></a></li><li><a href="/tupian/29294.html" target="_blank"><img src="/uploads/allimg/220506/010552-16517703524693.jpg" alt="长发高颜值高清美女刘亦菲4k壁纸3840x2160"><b>长发高颜值高清美女刘亦</b></a></li><li><a href="/tupian/28721.html" target="_blank"><img src="/uploads/allimg/220124/011500-16429581006bd3.jpg" alt="高尔夫美女曹婉瑾 短裙 美腿4k美女壁纸"><b>高尔夫美女曹婉瑾 短裙 </b></a></li><li><a href="/tupian/29293.html" target="_blank"><img src="/uploads/allimg/220506/010311-1651770191049b.jpg" alt="刘亦菲 白色西装 高清美女4k壁纸"><b>刘亦菲 白色西装 高清美</b></a></li><li><a href="/tupian/29336.html" target="_blank"><img src="/uploads/allimg/220514/011347-165246202775f8.jpg" alt="居家好看可爱美女 好看身材 美腿 白袜子3440x1440带鱼屏壁纸"><b>居家好看可爱美女 好看身</b></a></li><li><a href="/tupian/29270.html" target="_blank"><img src="/uploads/allimg/220428/000027-16510752276140.jpg" alt="黑色长发美女 黑色裙子 美腿 长靴子4k美女壁纸"><b>黑色长发美女 黑色裙子 </b></a></li><li><a href="/tupian/29263.html" target="_blank"><img src="/uploads/allimg/220426/113340-16509440207e9c.jpg" alt="好看古风美女4k电脑壁纸"><b>好看古风美女4k电脑壁纸</b></a></li>
    	<li class="nextpage"><a href="/4kmeinv/index_2.html"><p>下一页<br>更多精彩</p></a></li></ul>
    </div>
"""
# 提取图片地址  和 图片名称

obj = etree.HTML(html1)
item1 = obj.xpath('//div/ul[@class="clearfix"]/li')

xialuo = lambda x:x[0] if x else x

for i in item1:
    # i = li标签  匿名函数

    href = xialuo(i.xpath('.//img/@src'))
    aaa = ""
    title = xialuo(i.xpath('.//img/@alt'))
    # if title:
    #     aaa = title[0]
    # else:
    #     aaa = title
    print(href,title)
